谁在崛起,谁在没落?新一线城市竞争力盘点,用Python绘制动态图带你看懂! | 您所在的位置:网站首页 › python 动态条形图 › 谁在崛起,谁在没落?新一线城市竞争力盘点,用Python绘制动态图带你看懂! |
CDA数据分析师 出品 作者:Mika 数据:真达 后期:泽龙 【导读】今天我们用数据来聊一聊新一线城市。 Show me data,用数据说话 今天我们聊一聊 新一线城市 提到一线城市,大家马上会想到北上广深这四个超级大都市。除此之外,近年来新一线城市这个概念也越来越被大众所熟知。 2013年,财经媒体第一财经提出了提出“新一线城市”的概念,以商业资源集聚度、城市枢纽性、城市人活跃度、生活方式多样性以及未来可塑性作为评判的五大指标,针对全国几百个地级市进行了全新的排名,将未来最有潜力晋升传统一线城市的15个城市称为“新一线城市”。 作为距离一线城市最近的梯队,新一线城市的榜单可以说含金量十足,每年的评选都备受关注。 (来自维基百科) 2020年15座新一线城市包括成都、重庆、杭州、武汉、西安、天津、苏州、南京、郑州、长沙、东莞、沈阳、青岛、合肥、佛山。 (来自21世纪报道) 其中在人口增量方面:西安由于大幅降低落户门槛,且将西咸新区人口纳入人口总数后,在近3年以新增128.87万常住人口,排名15个新一线城市常住人口增量第一位。常住人口增量连年提升的杭州,则以近3年117.2万的增量,排名新一线城市第二位。 和它们相比,天津近3年以来出现常住人口-0.29万的增长,沈阳3年增长了3万,势头微弱。 那么这15座新一线城市 近20年来的GDP变化趋势如何? 人口竞争力如何排座次? 房价又是怎样的? 今天我们就来用数据全面解读这15座城市。 这次我们使用Python的动态可视化库plotly,对这15座城市从2000年到2019年这20年的GDP、人口以及房价数据进行了可视化。下面就让我们来一起看看吧! 我们的数据从以下四个维度展开: 新一线城市2000-2019年GDP变化趋势 新一线城市2000-2019年GDP和人口变化趋势 新一线城市2001-2019年人口增量数据 新一线城市近10年平均房价走势图01 数据获取 我们使用Python的可视化库Plotly对15座新一线城市的人口/GDP/房价数据进行动态可视化展示。plotly是一个基于javascript的绘图库,绘图种类丰富,效果美观,使用Plotly可以画出很多媲美Tableau的高质量图。 如果你没有安装plotly,可以使用以下代码进行pip安装: pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple 首先导入我们需要使用的包,其中pandas用于数据整理,plotly用于数据可视化。 # 导入包 import pandas as pd import plotly as py import plotly.graph_objs as go import plotly.express as px from plotly import tools 使用pandas读入并合并数据集,我们选取的数据来自于国家统计局网站,该数据包含了15座新一线城市自2000年~2019年20年期间的GDP和人口数据,这是一份带有时间序列的面板数据,适合进行动态可视化绘图使用。 # 读入数据 df_gdp = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=0) df_pop = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=1) # 合并数据 df_all = pd.merge(left=df_gdp, right=df_pop, on=['城市', '年份']) df_all = df_all.sort_values(['城市','年份']) df_all.head() 02 数据可视化 Plotly有两个很常用的绘图模块,分别是graph_objs和express,此次我们主要使用express进行动态可视化图形的绘制,使用它可以轻松绘制如散点图、条形图、漏斗图、桑基图等图形。 使用官网: https://plotly.com/python/plotly-express/ 绘图的步骤也非常简单: 直接使用px调用某个绘图方法,会自动创建画布,并画出图形。 展示图形,可以直接在notebook中展示,也可以使用py.offline.plot(fig,filename="XXX.html")代码保存成html网页动态图片。接下来我们演示使用plotly.express绘制动态条形图和散点图。 首先绘制一个动态条形图,用于展示15座城市随时间走势的GDP变化趋势,调用bar的方法即可。 绘图主要参数解释: data_frame:数据框名称 x:列名,展示的维度 y:列名,展示的度量 color:颜色 text:条形图标记文本 title:标题 range_y:y轴的刻度范围 animation_frame:列名,控制动画帧# 条形图 fig2 = px.bar(df_all, x='城市', y='GDP', color='城市', text='GDP', title='新一线城市近20年GDP变化趋势', range_y=[300, 25000], animation_frame='年份', ) fig2.update_layout(yaxis_title='GDP(亿元)') # 更新布局配置 py.offline.plot(fig2, filename='2000-2019年GDP变化趋势.html') 然后绘制一个动态散点图,用于展示15座城市随时间走势的GDP和人口变化趋势,调用scatter的方法即可。绘图步骤和上述类似。 # 散点图 fig3 = px.scatter(df_all, x='GDP', y='人口', animation_frame='年份', animation_group='城市', size='人口', color='城市', hover_name='城市', size_max=50, text='城市', range_x=[300, 25000], range_y=[150, 4000], title='新一线城市近20年GDP和人口变化趋势', ) fig3.update_layout(xaxis_title='GDP(亿元)', yaxis_title='人口(万人)') py.offline.plot(fig3, filename='2000-2019年GDP和人口变化趋势.html') 03 可视化效果 想要获取具体的数据代码和可视化效果图,可以给小编留言或者私信哦! |
CopyRight 2018-2019 实验室设备网 版权所有 |